///////////////////////////////////////////////////////////////////////////
//  Author:
//		Cameren Sales
///////////////////////////////////////////////////////////////////////////

#pragma once
#include "Clock.h"
#include "Ticket.h"
#include "StatPack.h"
#include <queue>
#include <vector>
#include <functional>

#define NUM_OF_WORKERS				400
#define WORKERS_LEAVE_FOR_LUNCH		200
#define NUM_OF_CUSTUMERS			105

using namespace std;

class TicketHandler
{
private:
	int m_ticketsReturned;
	vector<Ticket> m_ticketList;
	priority_queue<Ticket,vector<Ticket*>, Ticket> m_priorityQueue;
	//Walker--Add
	//StatPack stats;
	void fillPQ();
public:
	TicketHandler();
	//Walker--Add
	//TicketHandler(int, string, bool);
	~TicketHandler();
	void createData();
	bool getTickets(vector<Ticket*> &tickets,int time);
	bool simOver();
	void ticketClosed();
	//Walker--Delete this
	//void writeRunData(string fileBaseName, int runID);
	//Walker--Add both methods below
	//void writeFinalAnalysis();
	//void RunDataAnalysis(int runID);
};

